#include <errno.h>
#include <fcntl.h>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <unistd.h>

#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <sys/shm.h>
#include <sys/socket.h>
#include <sys/types.h>

int send_tcp();
int send_udp();

int main(int argc, char *argv[])
{
    send_tcp();
    return 0;
}

int send_tcp()
{
    char msg[128] = "Ping";
    int svrFd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    struct sockaddr_in servaddr;
    memset(&servaddr, 0, sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(8080);     // 服务器端口
    servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务器ip

    /// 连接服务器，成功返回0，错误返回 -1
    if (connect(svrFd, (struct sockaddr *)&servaddr, sizeof(struct sockaddr)) < 0)
    {
        perror("connect");
        exit(1);
    }

    int rSize = send(svrFd, msg, 128, 0);
    int wSize = recv(svrFd, msg, 128, 0);
    printf("%d: %s\n", wSize, msg);

    close(svrFd);
    return 0;
}
int send_udp()
{
    printf("send_udp\n");
    return 0;
}